package com.yanqu.road.logic.activity.foxcard.game;

import com.yanqu.road.entity.activity.foxcard.FoxBaseCard;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;

public class FoxCardShowInfo {
    private int showType; //表现类型
    private List<List<Integer>> settleCards = new ArrayList<>(); //结算的卡牌 唯一id 类型
    private List<List<Integer>> triggerCards = new ArrayList<>(); //触发的卡牌 唯一id 类型
    private BigInteger nowBaseScore = BigInteger.ZERO; //当前筹码
    private BigInteger nowBaseMulti = BigInteger.ZERO; //当前倍率
    private String showValue = "0"; //表现值
    private BigInteger damageAmount = BigInteger.ZERO; //累计伤害值
    private int triggerType;


    public FoxCardShowInfo(int showType) {
        this.showType = showType;
    }

    public int getShowType() {
        return showType;
    }

    public List<List<Integer>> getSettleCards() {
        return settleCards;
    }

    public List<List<Integer>> getTriggerCards() {
        return triggerCards;
    }

    public FoxCardShowInfo setSettleCards(List<FoxBaseCard> cards) {
        if (cards == null) {
            return this;
        }
        List<List<Integer>> listList = new ArrayList<>();
        for (FoxBaseCard card : cards) {
            List<Integer> list = new ArrayList<>();
            list.add(card.getId());
            list.add(card.getCardType());
            listList.add(list);
        }
        this.settleCards = listList;
        return this;
    }

    public FoxCardShowInfo setTriggerCards(List<FoxBaseCard> cards) {
        if (cards == null) {
            return this;
        }
        List<List<Integer>> listList = new ArrayList<>();
        for (FoxBaseCard card : cards) {
            List<Integer> list = new ArrayList<>();
            list.add(card.getId());
            list.add(card.getCardType());
            listList.add(list);
        }
        this.triggerCards = listList;
        return this;
    }

    public BigInteger getNowBaseScore() {
        return nowBaseScore;
    }

    public FoxCardShowInfo setNowBaseScore(BigInteger nowBaseScore) {
        this.nowBaseScore = nowBaseScore;
        return this;
    }

    public BigInteger getNowBaseMulti() {
        return nowBaseMulti;
    }

    public FoxCardShowInfo setNowBaseMulti(BigInteger nowBaseMulti) {
        this.nowBaseMulti = nowBaseMulti;
        return this;
    }

    public String getShowValue() {
        return showValue;
    }

    public FoxCardShowInfo setShowValue(String showValue) {
        this.showValue = showValue;
        return this;
    }

    public FoxCardShowInfo setShowValue(long value) {
        this.showValue = String.valueOf(value);
        return this;
    }

    public BigInteger getDamageAmount() {
        return damageAmount;
    }

    public void setDamageAmount(BigInteger damageAmount) {
        this.damageAmount = damageAmount;
    }

    public int getTriggerType() {
        return triggerType;
    }

    public void setTriggerType(int triggerType) {
        this.triggerType = triggerType;
    }
}
